/**
 * Created by hongye.liu on 14-11-07.
 */
define(['jquery','underscore','backbone','global','text!/android_asset/busAppWeb/module/busApp/busMap/busMap.html'],
    function($,_,Backbone,global,html){
        var initMapView = Backbone.View.extend({
            template: _.template(html),
            initialize:function(data){
                this.render();
                this.initMap();
            },
            render:function(){
                $('#busMapPage').html(this.template);
                $('#busMapPage').trigger("create");
            },
            defaults:{
                longitude : null,
                latitude : null,
                markerArr : null,
                userSite : []
            },
//            // 蜂鸣三次
//            playBeep:function(){
//                navigator.notification.beep(3);
//            },
//
//            // 震动两秒
//            vibrate:function(){
//                navigator.notification.vibrate(2000);
//            },

            initMap:function(){
               if(global.longitude != null)
               {
                   this.longitude = global.longitude;
                   this.latitude = global.latitude;
               }
               else
               {
                   this.longitude = 116.404;
                   this.latitude = 39.915;
               }
                this.markerArr = [{title:"我的位置",point:this.longitude+"|"+this.latitude,isOpen:0,icon:{w:32,h:32,l:0,t:0,x:6,lb:5}}];
                this.createMap();//创建地图
                this.setMapEvent();//设置地图事件
                this.addMapControl();//向地图添加控件
                this.addMarker();//向地图中添加marker
//                this.initCity();//初始化城市
//                self.setInterval(function clock()
//                {
//                    plugins.locPlugin.location(function (data) {
//                        this.initUserSite(function () {
//                            this.getDistance();
//                        })//初始化用户设置的提醒站点
//                    });
//                },30000)
            },
            //创建地图函数：
            createMap:function(){
                global.map = new BMap.Map("baiduMap");//在百度地图容器中创建一个地图
                var point = new BMap.Point(this.longitude,this.latitude);//定义一个中心点坐标
                global.map.centerAndZoom(point,15);//设定地图的中心点和坐标并将地图显示在地图容器中

            },
            //地图事件设置函数：
            setMapEvent:function(){
                global.map.enableScrollWheelZoom();//启用地图滚轮放大缩小
                global.map.enableDoubleClickZoom();//启用鼠标双击放大，默认启用(可不写)
                global.map.enableKeyboard();//启用键盘上下左右键移动地图
            },
            //地图控件添加函数：
            addMapControl:function(){
                //向地图中添加缩放控件
                var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
                global.map.addControl(ctrl_nav);
                //向地图中添加缩略图控件
                var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});
                global.map.addControl(ctrl_ove);
                //向地图中添加比例尺控件
                var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
                global.map.addControl(ctrl_sca);
            },
            //加标记
            addMarker:function(){
                for(var i=0;i<this.markerArr.length;i++){
                    var json = this.markerArr[i];
                    var p0 = json.point.split("|")[0];
                    var p1 = json.point.split("|")[1];
                    var point = new BMap.Point(p0,p1);
                    var marker = new BMap.Marker(point);
                    var label = new BMap.Label(json.title,{"offset":new BMap.Size(json.icon.lb-json.icon.x+10,-20)});
                    marker.setLabel(label);
                    global.map.addOverlay(marker);
                    label.setStyle({
                        borderColor:"#808080",
                        color:"#333",
                        cursor:"pointer"
                    });
                }
            }
//            initUserSite:function(){
//                if(this.userSite.length == 0){
//                    editXml.callNativePlugin('read',[], function (siteListFromXml) {
//                        var obj = eval('(' + siteListFromXml + ')');
//                        if(siteListFromXml != null){
//                            for(var i = 0; i < obj.length; i++) {
//                                var siteSetObject = new Object();
//                                siteSetObject.value = obj[i].value;
//                                siteSetObject.pointX = obj[i].pointX;
//                                siteSetObject.pointY = obj[i].pointY;
//                                siteSetObject.note = obj[i].note;
//                                siteSetObject.isRemind = obj[i].isRemind;
//                                this.userSite.push(siteSetObject);
//                            }
//                        }
//                        callback();
//                    });
//                }
//                else{
//                    callback();
//                }
//            },

//            getDistance:function() {
//                for(var i = 0; i < userSite.length; i++){
//                    var length = ((map.getDistance(new BMap.Point(latitude,longitude),
//                        new BMap.Point(userSite[i].pointX, userSite[i].pointY))).toFixed(2));
//                    if( length < 100){
//                        this.callJPush();
//                        alert('您已经靠近'+userSite[i].value+',请注意。。。');
//                    }
//                }
//            }

    })
    return initMapView;

})




